{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.1"
},
"colab": {
"name": "401b_Problem_Sheet.ipynb",
"provenance": [],
"include_colab_link": true
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "1bx3thOOtgJU"
},
"source": [
"## Problem Sheet Question 2a\n",
"\n",
"The general form of the population growth differential equation\n",
"\\begin{equation} y^{'}=y-t, \\ \\ (0 \\leq t \\leq 2) \\end{equation}\n",
"with the initial condition\n",
"\\begin{equation}y(0)=2.\\end{equation}\n",
"For N=4\n",
"with the analytic (exact) solution\n",
"\\begin{equation} y= e^{t}+t+1.\\end{equation}\n",
"\n",
"# 3-step Adams Bashforth\n",
"\n",
"The 3-step Adams Bashforth difference equation is\n",
"\\begin{equation}w_{i+1} = w_{i} + \\frac{h}{12}(23f(t_i,w_i)-16f(t_{i-1},w_{i-1})+5f(t_{i-2},w_{i-2})) \\end{equation}\n",
"where\n",
"\\begin{equation}w_{i+1} = w_{i} + \\frac{h}{12}(23(w_i-t_i)-(w_{i-1}-t_{i-1})+5(w_{i-2}-t_{i-2})). \\end{equation}\n"
]
},
{
"cell_type": "code",
"metadata": {
"collapsed": true,
"id": "hH5IP1nKtgJX"
},
"source": [
"import numpy as np\n",
"import math \n",
"\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt # side-stepping mpl backend\n",
"import matplotlib.gridspec as gridspec # subplots\n",
"import warnings\n",
"\n",
"warnings.filterwarnings(\"ignore\")\n"
],
"execution_count": 1,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"collapsed": true,
"id": "rFRQWkiLtgJZ"
},
"source": [
"def myfun_ty(t,y):\n",
" return y-t\n",
"\n",
"\n",
"\n",
"#PLOTS\n",
"def Adams_Bashforth_3step(N,IC):\n",
"\n",
" x_end=2\n",
" x_start=0\n",
" INTITIAL_CONDITION=IC\n",
" h=x_end/(N)\n",
" N=N+2;\n",
" t=np.zeros(N)\n",
" w=np.zeros(N)\n",
" \n",
" Analytic_Solution=np.zeros(N)\n",
" k=0\n",
" w[0]=INTITIAL_CONDITION\n",
" Analytic_Solution[0]=INTITIAL_CONDITION\n",
" t[0]=x_start\n",
" t[1]=x_start+1*h\n",
" t[2]=x_start+2*h\n",
" w[1]=math.exp(t[1])+t[1]+1\n",
" w[2]=math.exp(t[2])+t[2]+1\n",
" Analytic_Solution[1]=math.exp(t[1])+t[1]+1\n",
" Analytic_Solution[2]=math.exp(t[2])+t[1]+1\n",
"\n",
" for k in range (2,N-1):\n",
" w[k+1]=w[k]+h/12.0*(23*myfun_ty(t[k],w[k])-16*myfun_ty(t[k-1],w[k-1])+5*myfun_ty(t[k-2],w[k-2]))\n",
" t[k+1]=t[k]+h\n",
" Analytic_Solution[k+1]=2*math.exp(t[k+1])+t[k+1]+1\n",
"\n",
" fig = plt.figure(figsize=(10,4))\n",
" # --- left hand plot\n",
" ax = fig.add_subplot(1,3,1)\n",
" plt.plot(t,w,'o:',color='blue')\n",
" #ax.legend(loc='best')\n",
" plt.title('Numerical Solution h=%s'%(h))\n",
"\n",
" # --- right hand plot\n",
" ax = fig.add_subplot(1,3,2)\n",
" plt.plot(t,Analytic_Solution,color='black')\n",
" plt.title('Analytic Solution')\n",
"\n",
" \n",
" ax = fig.add_subplot(1,3,3)\n",
" plt.plot(t,Analytic_Solution-w,'o:',color='red')\n",
" plt.title('Error')\n",
" # --- title, explanatory text and save\n",
"\n",
"\n",
"\n",
" # --- title, explanatory text and save\n",
" fig.suptitle(r\"$y'=t-y$\", fontsize=20)\n",
" plt.tight_layout()\n",
" plt.subplots_adjust(top=0.85) \n",
" print(t)\n",
" print(Analytic_Solution)\n",
" print(w)"
],
"execution_count": 2,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "BP-i3OrutgJa",
"outputId": "8f2cae29-6133-4d11-bfc3-360dc9c182a6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 353
}
},
"source": [
"Adams_Bashforth_3step(4,2)"
],
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[0. 0.5 1. 1.5 2. 2.5]\n",
"[ 2. 3.14872127 4.21828183 11.46337814 17.7781122 27.86498792]\n",
"[ 2. 3.14872127 4.71828183 6.93248773 10.21158419 15.2340026 ]\n"
]
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"collapsed": true,
"id": "edhc-SeqtgJb"
},
"source": [
""
],
"execution_count": 3,
"outputs": []
}
]
}